package gestion.horarios.model.jpa.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the detallemallacurricular database table.
 * 
 */
@Entity
@Table(name="detallemallacurricular")
public class DetalleMallaCurricular implements Serializable {
	private static final long serialVersionUID = 1L;
	private DetalleMallaCurricularPK id;
	private List<CursoPropuesto> cursopropuestos;
	private MallaCurricular mallacurricular;
	private NivelesCarrera nivelescarrera;

    public DetalleMallaCurricular() {
    }


	@EmbeddedId
	public DetalleMallaCurricularPK getId() {
		return this.id;
	}

	public void setId(DetalleMallaCurricularPK id) {
		this.id = id;
	}
	

	//bi-directional many-to-one association to CursoPropuesto
	@OneToMany(mappedBy="detallemallacurricular")
	public List<CursoPropuesto> getCursopropuestos() {
		return this.cursopropuestos;
	}

	public void setCursopropuestos(List<CursoPropuesto> cursopropuestos) {
		this.cursopropuestos = cursopropuestos;
	}
	

	//bi-directional many-to-one association to MallaCurricular
    @ManyToOne
	@JoinColumn(name="MallaCurricularId", nullable=false, insertable=false, updatable=false)
	public MallaCurricular getMallacurricular() {
		return this.mallacurricular;
	}

	public void setMallacurricular(MallaCurricular mallacurricular) {
		this.mallacurricular = mallacurricular;
	}
	

	//bi-directional many-to-one association to NivelesCarrera
    @ManyToOne
	@JoinColumns({
		@JoinColumn(name="CarreraId", referencedColumnName="CarreraId", nullable=false),
		@JoinColumn(name="NivelesCarreraId", referencedColumnName="NivelesCarreraId", nullable=false)
		})
	public NivelesCarrera getNivelescarrera() {
		return this.nivelescarrera;
	}

	public void setNivelescarrera(NivelesCarrera nivelescarrera) {
		this.nivelescarrera = nivelescarrera;
	}
	
}